home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #11
/
Amiga Plus CD - 2004 - No. 11.iso
/
AmiSoft
/
Comm
/
yam
/
YAMGenesis.lha
/
YAMGenesis
/
debug
/
GenesisOnline.yam.deb
< prev
next >
Wrap
Text File
|
2001-10-21
|
7KB
|
191 lines
/* GenesisOnline.yam - Go online in Genesis
*
* $VER: GenesisOnline.yam 1.06 (20.10.01) © H. van der Ree <hivdree@uwnet.nl>
*
* Don't forget to change genesispath and interface into the one you use!
* ----------- ---------
* If you use WBStartEmu change wbstarter on line 93 into wbrun!
* --------- -----
*/
OPTIONS RESULTS
OPTIONS FAILAT 5
SIGNAL ON FAILURE
SIGNAL ON SYNTAX
PARSE ARG args
/* Change this path if required */
genesispath = "AmiTCP:Genesis"
genesisport = "GENESIS"
/* Change this to the interface you use */
interface = "ppp0"
IF ~OPEN('FH', 'RAM:GenesisOnline.debug', 'A') THEN
CALL OPEN('FH', 'RAM:GenesisOnline.debug', 'W')
CALL WRITELN(FH, '')
CALL WRITELN(FH, date('N') '-' time('N')||': GenesisOnline.yam.')
CALL WRITELN(FH, date('N') '-' time('N')||': Arg is' args||'.')
CALL WRITELN(FH, date('N') '-' time('N')||': Checking rexxsupport.library.')
IF ~SHOW('L', 'rexxsupport.library') THEN
CALL ADDLIB('rexxsupport.library', 0, -30)
CALL WRITELN(FH, date('N') '-' time('N')||': Checking rexxdossupport.library.')
IF ~SHOW('L', 'rexxdossupport.library') THEN
CALL ADDLIB('rexxdossupport.library', 0, -30)
CALL WRITELN(FH, date('N') '-' time('N')||': Checking YAMSTARTED variable.')
action = GETVAR(YAMSTARTED, "GLOBAL")
IF action = "YES" THEN
DO
CALL WRITELN(FH, date('N') '-' time('N')||': YAMSTARTED == YES!!!')
CALL CLOSE(FH)
CALL DELETEVAR(YAMSTARTED, "GLOBAL")
EXIT 0
END
CALL SETVAR(GENESISINTERFACE, interface, "GLOBAL")
CALL WRITELN(FH, date('N') '-' time('N')||': Check for news.')
IF FIND(UPPER(args), "NEWS") ~= 0 THEN
DO
CALL WRITELN(FH, date('N') '-' time('N')||': Open T:YAMSTATUSLIST.')
CALL OPEN('FS', 'T:YAMSTATUSLIST', 'W')
CALL WRITELN(FH, date('N') '-' time('N')||': Changing address to YAM.')
ADDRESS YAM
CALL WRITELN(FH, date('N') '-' time('N')||': Set folder to Outgoing.')
SETFOLDER 'Outgoing'
CALL WRITELN(FH, date('N') '-' time('N')||': Get folderinfo.')
FOLDERINFO STEM folder.
CALL WRITELN(FH, date('N') '-' time('N')||': Unselect ALL.')
LISTSELECT None
CALL WRITELN(FH, date('N') '-' time('N')||': Start loop.')
DO i = 0 TO folder.TOTAL-1
SETMAIL i
MAILINFO STEM mess.
IF POS("@NEWS", upper(mess.TO)) ~= 0 THEN
DO
IF upper(mess.STATUS) ~= 'H' THEN
DO
CALL SETVAR("CHANGEDYAMSTATUS", "YES", "GLOBAL")
CALL WRITELN(FH, date('N') '-' time('N')||': Writing MSGID to file.')
CALL WRITELN(FS, mess.MSGID)
CALL WRITELN(FH, date('N') '-' time('N')||': Changing status of file.')
MAILSTATUS H
END
END
END
CALL WRITELN(FH, date('N') '-' time('N')||': DONE!, select ALL.')
LISTSELECT ALL
CALL WRITELN(FH, date('N') '-' time('N')||': Closing file T:YAMSTATUSLIST.')
CALL CLOSE(FS)
END
CALL WRITELN(FH, date('N') '-' time('N')||': DONE!')
ADDRESS COMMAND 'popscreen to YAMSCREEN'
CALL WRITELN(FH, date('N') '-' time('N')||': Looking for port' genesisport||'.')
IF ~SHOW('P', genesisport) THEN
DO
ADDRESS COMMAND
CALL WRITELN(FH, date('N') '-' time('N')||': Did not find port' genesisport||'.')
CALL WRITELN(FH, date('N') '-' time('N')||': Starting' genesispath||'.')
'wbstarter' genesispath
X = RC
CALL WRITELN(FH, date('N') '-' time('N')||': ReturnCode:' X||'.')
CALL WRITELN(FH, date('N') '-' time('N')||': Start waiting for port' genesisport||'.')
'WaitForPort' genesisport
X = RC
CALL WRITELN(FH, date('N') '-' time('N')||': Waited for port' genesisport||', RC:' X||'.')
CALL SETVAR(STARTEDBYYAM, "YES", "GLOBAL")
started = "YES"
CALL WRITELN(FH, date('N') '-' time('N')||': Waiting 2 seconds...')
CALL DELAY(100)
CALL WRITELN(FH, date('N') '-' time('N')||': DONE Waiting!')
END
CALL WRITELN(FH, date('N') '-' time('N')||': Found port' genesisport||'.')
CALL WRITELN(FH, date('N') '-' time('N')||': Changing ADDRESS to' genesisport||'.')
ADDRESS VALUE genesisport
CALL WRITELN(FH, date('N') '-' time('N')||': Checking interface' interface||'.')
ISONLINE interface
RCN = RC
CALL WRITELN(FH, date('N') '-' time('N')||': RC:' RCN||'.')
IF RCN ~= 1 THEN
DO
CALL WRITELN(FH, date('N') '-' time('N')||': Not online, start checking.')
SHOW
CALL SETVAR(YAMSTART, "YES", "GLOBAL")
CALL WRITELN(FH, date('N') '-' time('N')||': Start loop until RC = 1.')
IF RCN ~= 2 THEN
DO
CALL WRITELN(FH, date('N') '-' time('N')||': Interface is not dailing! Start now!')
ONLINE interface
END
RCN = 0
DO UNTIL RCN = 1
ISONLINE interface /* 0 = OFFLINE, 1 = ONLINE, 2 = DAILING */
RCN = RC
CALL WRITELN(FH, date('N') '-' time('N')||': Check online, RC:' RCN||'.')
IF RCN = 0 THEN
DO
CALL DELETEVAR(YAMSTART, "GLOBAL")
CALL WRITELN(FH, date('N') '-' time('N')||': Not online, RC = 0!! I QUIT!')
CALL CLOSE(FH)
EXIT 5
END
IF RCN ~= 1 THEN CALL DELAY(100)
END
CALL WRITELN(FH, date('N') '-' time('N')||': Waiting 2 seconds...')
CALL DELAY(100)
CALL WRITELN(FH, date('N') '-' time('N')||': DONE Waiting!')
END
ELSE
DO
IF started = "YES" THEN
DO
CALL SETVAR(YAMSTART, "YES", "GLOBAL")
CALL WRITELN(FH, date('N') '-' time('N')||': Waiting 2 seconds...')
CALL DELAY(100)
CALL WRITELN(FH, date('N') '-' time('N')||': DONE Waiting!')
END
ELSE
DO
CALL WRITELN(FH, date('N') '-' time('N')||': Checking arg for CLOSE.')
IF FIND(UPPER(args), "CLOSE") ~= 0 THEN
DO
CALL WRITELN(FH, date('N') '-' time('N')||': Found CLOSE, set address to YAM!')
ADDRESS 'YAM'
'REQUEST "Go OffLine after getting email?" "_Yes|_No"'
IF RESULT = 1 THEN
DO
CALL WRITELN(FH, date('N') '-' time('N')||': CLOSE connection!!.')
CALL SETVAR(YAMSTART, "YES", "GLOBAL")
END
END
END
END
ADDRESS COMMAND 'popscreen $YAMSCREEN'
CALL DELETEVAR(YAMSCREEN, "GLOBAL")
CALL WRITELN(FH, date('N') '-' time('N')||': Online, go back to YAM.')
CALL CLOSE(FH)
EXIT 0
FAILURE:
SIGNAL OFF FAILURE
CALL WRITELN(FH, date('N') '-' time('N')||': ERROR!!!')
CALL WRITELN(FH, date('N') '-' time('N')||': Line' SIGL SOURCELINE(SIGL))
CALL WRITELN(FH, date('N') '-' time('N')||': caused an error, RC='||RC)
CALL CLOSE(FH)
EXIT RC
SYNTAX:
SIGNAL OFF SYNTAX
CALL WRITELN(FH, date('N') '-' time('N')||': SYNTAX ERROR!!!')
CALL WRITELN(FH, date('N') '-' time('N')||': Line' SIGL SOURCELINE(SIGL))
CALL WRITELN(FH, date('N') '-' time('N')||': caused an error, RC='||RC)
CALL CLOSE(FH)
EXIT RC